1
플랫폼 종속 코드를 넘어선다
AI013Lesson 8
00:00

역사적으로 C++는 하드웨어 서비스와의 통합적인 상호작용 방식이 부족했으며, 개발자들을 "플랫폼 사일로" 운영체제 전용 API(예: Win32 또는 POSIX)에 의해 분산된 코드베이스로 몰아넣었습니다. 이 슬라이드는 현대적 시대의 전환을 의미하며, 여기서 C++ 표준 라이브러리는 유니버설 추상화 계층으로 작동합니다.

1. #ifdef 스파게티의 종말

표준화 이전에는 스레드 생성이나 디렉터리 탐색과 같은 간단한 작업을 처리하기 위해 사전 프로세서 매크로가 필요했습니다. 이는 서로 다른 시스템 헤더(예: <windows.h> 대비 <pthread.h>)를 처리해야 했습니다. 이로 인해 비효율적이고 유지보수 불가능한 코드가 발생했습니다.

2. C++11의 패러다임 전환

표준은 시스템 자원에 대한 통제권을 회복하기 시작했습니다. 특히, C++11은 고급 동시성 기능인 std::thread, std::mutex, 그리고 std::future를 추가하여 언어와 CPU 간의 관계를 표준화했습니다.언어와 CPU 사이의 관계를 표준화했습니다.

구형 (분열된)#ifdef _WIN32CreateThread(...);#elsepthread_create(...);#endif현대적 (표준화된)std::thread t(task);

3. 벤더 로직의 분리

플랫폼 전용 코드를 넘어서면, 표준 라이브러리는 '한 번 작성, 어디에서나 컴파일'할 수 있는 보장을 제공합니다. 플랫폼 유지보수의 부담은 개발자에서 컴파일러 공급업체로 옮겨집니다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>